@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion

echo 正在启动智能代理服务...

:: 检查 Python 是否安装
python --version > nul 2>&1
if errorlevel 1 (
    echo [错误] 未找到 Python，请确保 Python 已正确安装
    pause
    exit /b 1
)

:: 检查 Ollama 是否安装
where ollama > nul 2>&1
if errorlevel 1 (
    echo [错误] 未找到 Ollama，请确保 Ollama 已正确安装
    pause
    exit /b 1
)

:: 检查并创建虚拟环境
if not exist venv (
    echo [信息] 正在创建虚拟环境...
    python -m venv venv
    if errorlevel 1 (
        echo [错误] 创建虚拟环境失败
        pause
        exit /b 1
    )
)

:: 激活虚拟环境并安装依赖
echo [信息] 正在安装依赖...
call venv\Scripts\activate.bat
python -m pip install --upgrade pip
python -m pip install requests fastapi uvicorn pydantic
if exist requirements.txt (
    python -m pip install -r requirements.txt
)

:: 检查 Ollama 服务状态
echo [信息] 检查 Ollama 服务...
curl -s http://localhost:11434/api/tags > nul 2>&1
if errorlevel 1 (
    echo [信息] 正在启动 Ollama 服务...
    start /B ollama serve
    timeout /t 5 /nobreak > nul
)

:: 检查模型
echo [信息] 检查模型状态...
curl -s http://localhost:11434/api/tags | findstr "qwen3:8b" > nul
if errorlevel 1 (
    echo [信息] 正在下载 qwen3:8b 模型...
    ollama pull qwen3:8b
)

:: 启动 Python 服务
echo [信息] 正在启动智能代理服务...
start /B cmd /c "venv\Scripts\python.exe run_agent.py"

:: 等待服务启动
echo [信息] 等待服务启动...
timeout /t 5 /nobreak > nul

:: 检查服务是否成功启动
curl -s http://localhost:8000/v1/model/status > nul 2>&1
if errorlevel 1 (
    echo [错误] 服务启动失败，请检查日志
    pause
    exit /b 1
)

echo.
echo [成功] 所有服务已启动！
echo 服务状态：
echo 1. Ollama 服务: 运行中
echo 2. Python 虚拟环境: 已激活
echo 3. 智能代理服务: 已启动
echo.
echo 按 Ctrl+C 可以停止所有服务
echo.

:: 保持窗口打开
pause > nul

:: 清理进程
taskkill /F /IM python.exe /FI "WINDOWTITLE eq run_agent.py" > nul 2>&1
taskkill /F /IM ollama.exe > nul 2>&1
echo [信息] 所有服务已停止 